
Page({

  /**
   * 页面的初始数据
   */
  data: {
    id:0,
    current: 0,
    titleList: ["课程详情", "课程列表", "名师介绍",  "课程评价"],
    classroomTitle:['最新发表','最后回复','回复数量'],
    // 课程详情数据
    courseDetailData: {},
    buy:false,
    collection:false,
    indexFather:-1,
    courseTime:'11',
    courseEvaluation:0,
    courseCollection:0,
    //咨询师信息
    teacherData:{},
    
    //是否展示视频
    isVideo:false,
    //是否展示播放图标
    showPlayIcon:true,

    //课程列表
    courseVideoList:[],
    //评价列表
    courseEvaluationList:[],
    //视频播放的地址
    vidoUrl:'',

  },
  //每次点击选项都会进行这个事件
  chooseItem(e) {
    console.log(e.target.dataset.index)
    this.setData({
      current: e.target.dataset.index
    })
    if(e.target.dataset.index == 1){
      console.log("当前是课程列表,当前的课程id:"+this.data.id);
      // this.getCourseVideo()
    }else if(e.target.dataset.index == 2){
      console.log("当前是名师介绍,当前的课程id:"+this.data.id);
      this.getConsultant()
    }else if(e.target.dataset.index == 3){
      console.log("当前是课程评价,当前的课程id:"+this.data.id);
      this.getCourseEvaluation()
    }
  },
  // swiper的change事件函数
  swiperChanged(e) {
    // console.log(e.detail.current)
    this.setData({
      current: e.detail.current
    })
  },
  getCourseDetail() {
    wx.request({
      url: `http://localhost:8080/course/select/${this.data.id}`,
      method: 'GET',
      success: (res) => {
        console.log("课程详情数据：", res.data.data)
        console.log(res.data.data.courseTime);
        this.setData({
          courseDetailData:res.data.data,
          courseTime:this.getCourseTime(res.data.data.courseTime)
        })

      },
      fail: (err) => {
        console.log("请求发送失败");
      }
    })
    
  },
  //立即购买
  purchase(){
    console.log(this.data.courseDetailData.coursePrice);
    //发送请求，修改订单状态
    wx.request({
      url: 'http://localhost:8080/courseOrder/add',
      method:"POST",
      data:{
        courseId : this.data.id,
        userId:1,
        orderPrice:this.data.courseDetailData.coursePrice
      },
      success:(resp)=>{
        if(resp.data.code==200){
          //跳转到支付界面，没法实现

        }
      },
      fail:(err)=>{
        console.log("请求发送失败");
      }
    })
    this.setData({
      //是否展示底部的立即购买还是其他
      buy:true
    })
  },

  lookResponse(e){
    let indexfather=e.target.dataset.indexfather
    console.log(indexfather)
    if(indexfather!=this.data.indexFather){
    this.setData({
      indexFather:indexfather
    })
  }else{
    this.setData({
      indexFather:-1
    })
    }
  },


  //获取课程总时长
  getCourseTime(ms){
    if(ms == null || ms == undefined){
      return "0小时0分0秒"
    }

    const totalSeconds = Math.floor(ms / 1000)
    const hours = Math.floor(totalSeconds / 3600)
    const minutes = Math.floor((totalSeconds % 3600) / 60)
    const seconds = totalSeconds % 60
    return `${hours}小时${minutes}分钟${seconds}秒`
  },


  //获取课程收藏次数
  getCourseCollect(){
    wx.request({
      url:  `http://localhost:8080/courseCollect/total/${this.data.id}`,
      method:"GET",
      success:(resp)=>{

        if(resp.data.code==200){
          console.log(resp.data.data);
          this.setData({
            courseCollection:resp.data.data
          })
        }
      }
    })
  },


  //课程视频列表查询:
  getCourseVideo(){
    wx.request({
      url: 'http://localhost:8080/courseVideo/page',
      method:"GET",
      data:{
        pageSize:5,
        pageNum:1,
        courseId:this.data.id
      },
      success:(resp)=>{
        if(resp.data.code==200){

          const list = resp.data.data.list.map(item => ({
            ...item,
            videoTime:this.getCourseTime(item.videoTime)
          }));
          console.log(resp.data.data.list[0].videoTime);
          console.log(list);
          this.setData({
            courseVideoList: list
          })
        }
      },
      fail:()=>{
        console.log("请求发送错误");
      }
    })
  },
  //名师介绍查询
  getConsultant(e){
    //能拿到老师id
    console.log("这是名师介绍" +e);
    console.log("老师"+this.data.courseDetailData.courseTeacher);
    wx.request({
      url: `http://localhost:8080/consultant/getById`,
      method:"GET",
      data:{
        id:this.data.courseDetailData.courseTeacher
      },
      success:(resp)=>{
        //此处后端没封装，没办法判断200
        console.log(resp.data);
        this.setData({
          teacherData:resp.data
        })

      },
      fail:(err)=>{
        console.log("请求发送失败");
      }
    })
  },


  //课程评价总数量:查询当前课程的评价
  getCourseEvaluationTotal(){
    // 请求总次数
    wx.request({
      url: `http://localhost:8080//courseEvaluate/total/${this.data.id}`,
      method: "GET",
      success:(resp)=>{
        console.log("请求次数"+resp.data.data);
        if(resp.data.code==200){
          this.setData({
            courseEvaluation:resp.data.data
          })
        }
      }
    })
  },

  //点击查询课程评价
  getCourseEvaluation(){
    //请求数据
    wx.request({
      url: `http://localhost:8080/courseEvaluate/page`,
      method:"GET",
      data:{
        pageSize:5,
        pageNum:1,
        courseId:this.data.id
      },
      success:(resp)=>{
        console.log("评价列表"+resp.data.data.list)
        console.log(resp.data.code);
        if(resp.data.code==200){
          this.setData({
            courseEvaluationList:resp.data.data.list
          })
        }
      },
      fail:()=>{
        console.log("请求发送错误");
      }
    })
  },

  //播放视频的事件
  play(){
    if(this.data.buy){
      this.setData({
        isVideo:true,
        showPlayIcon:false
      })
    }else{
      console.log("请先购买");
    }
    
  },

  //判断当前课程是否购买
  isPurchase(){
    //根据当前的用户id和课程id查询
    wx.request({
      url: 'http://localhost:8080/courseOrder/page',
      method:"GET",
      data:{
        pageNum:1,
        pageSize:3,
        userId:1,
        courseId:this.data.id
      },
      success:(resp)=>{
        console.log("状态码："+resp.data.code);
        console.log("订单状态"+resp.data.data.list[0].orderStatus);
        if(resp.data.code==200 && resp.data.data.list[0].orderStatus==1){
          //当前是已支付的状态
          this.setData({
            buy:true
          })
          console.log("走到这个一步");
          
        }else{
          console.log("走到这一步");
        }
      }
    })
  },


  //立即学习，学习量+1
  study(e){
    console.log(e.target.dataset.id);      
    const id = e.currentTarget.dataset.id;
    const video=this.data.courseVideoList.find(item => item.id == id);
    if(video){
      console.log('视频地址'+video.videoUrl);
      this.setData({
        videoUrl: video.videoUrl,
        isVideo:true,
        showPlayIcon:false
      })
    }
    console.log('视频地址'+this.data.videoUrl);
    //学习量+1
    wx.request({
      url: `http://localhost:8080/course/study  `,
      method:"PUT",
      data:{
        id:this.data.id
      },
      success:(resp)=>{
        if(resp==200){
          //跳转到视频界面
          console.log("添加成功");
        }
      },
      fail:(err)=>{
        //提示
        console.log("学习失败");
      }
    })

    console.log("学习");
  },

  //查询收藏表，判断是否收藏
    isCollection(){
      wx.request({
        url: 'http://localhost:8080/courseCollect/select',
        method:'GET',
        data:{
          userId:1,
          courseId:this.data.id
        },
        success:(resp)=>{
          console.log("收藏数据"+resp.data.data);
          console.log("收藏数据"+resp.data.code);
          if(resp.data.code == 200 && resp.data.data !=null){
            //收藏表中查询到数据，代表当前的课程已经被收藏了
            this.setData({
              collection:true
            })
          }
        }
        
      })
    },
    //添加收藏
    addCollection(){
      //发送请求
      wx.request({
        url: 'http://localhost:8080/courseCollect/add',
        method:'POST',
        data:{
          userId:1,
          courseId:this.data.id
        },
        success:(resp)=>{
          if(resp.data.code==200){
            //收藏成功了。修改状态
            this.setData({
              collection:true
            })
          }
        }
      })
    },
   //取消收藏
    cancelCollection(){
      wx.request({
        url: 'http://localhost:8080/courseCollect/delete',
        method:"DELETE",
        data:{
          userId:1,
          courseId:this.data.id
        },
        success:(resp)=>{
          if(resp.data.code==200){
            //取消收藏
            this.setData({
              collection:false
            })
          }
        }
      })

    },


    //查看全部评价
    allAppraise(){
      wx.navigateTo({
        url: `/my/tradeRate/tradeRate?id=${this.data.id}`,
      })
    },

    //我也要评价
    evaluate(){
      wx.navigateTo({
        url: `/course/pages/evaluation/evaluation?id=${this.data.id}`,
      })
    },

    //查看证书
    certificate(){
      wx.navigateTo({
        url: '/consult/pages/certificate/certificate',
      })
    },
    consultantDetail(){
      wx.navigateTo({
        url: `/consult/pages/consultDetails/consultDetails?id=${this.data.teacherData.id}`
      })
    },
    consultant(){
      wx.navigateTo({
        url: '/consult/pages/filter/filter',
      })
    },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
   this.setData({
     id:options.id
   })
    console.log("当前课程的id："+options.id)
    this.getCourseDetail()
    this.getCourseEvaluationTotal()
    this.getCourseCollect()
    this.isPurchase()
    this.isCollection()
    this.getCourseVideo()

    
},

/**
 * 生命周期函数--监听页面初次渲染完成
 */
onReady() {

},

/**
 * 生命周期函数--监听页面显示
 */
onShow() {

},

/**
 * 生命周期函数--监听页面隐藏
 */
onHide() {

},

/**
 * 生命周期函数--监听页面卸载
 */
onUnload() {

},

/**
 * 页面相关事件处理函数--监听用户下拉动作
 */
onPullDownRefresh() {

},

/**
 * 页面上拉触底事件的处理函数
 */
onReachBottom() {

},

/**
 * 用户点击右上角分享
 */
onShareAppMessage() {

}
})